package com.redistest.seckill.utils;

import lombok.Data;
@Data
public class ValidatorUtil {
    // 正则规则
    public static final String USERNAME_REGEX = "^[a-zA-Z0-9_-]{3,16}$";
    public static final String PASSWORD_REGEX = "^[a-zA-Z0-9_-]{3,16}$";

    // 错误消息
    public static final String USERNAME_EMPTY_MSG = "用户名不能为空";
    public static final String USERNAME_INVALID_MSG = "用户名格式错误（3-16位字母、数字、_或-）";
    public static final String PASSWORD_INVALID_MSG = "密码格式错误（3-16位字母、数字、_或-）";

    /**
     * 验证字符串是否匹配正则
     * @param input 待验证字符串
     * @param regex 正则表达式
     * @return 是否匹配
     */
    public static boolean matches(String input, String regex) {
        return input != null && input.matches(regex);
    }

    /**
     * 验证用户名格式
     */
    public static boolean isValidUsername(String username) {
        return matches(username, USERNAME_REGEX);
    }

    /**
     * 验证密码格式
     */
    public static boolean isValidPassword(String password) {
        return matches(password, PASSWORD_REGEX);
    }
}